import pandas as pd

# 1.读取原始数据
file_path = 'stockdata.xlsx'
df = pd.read_excel(file_path)

# 2.对数值型列进行均值填充
numeric_cols = df.select_dtypes(include='number').columns
df[numeric_cols] = df[numeric_cols].fillna(df[numeric_cols].mean())

# 3.推断年份
df['年份'] = df['日期'].str.extract(r'(\d{2,4})')
df['所有权'] = df['实际控制人性质'] # 假设'实际控制人性质'列直接赋值给'所有权'列

# 4.按股票代码、年份、行业代码和所有权字段汇总并计算均值
df_yearly = df.groupby(['股票代码', '年份','行业代码','所有权']).agg({
    '长期负债': 'mean',
    '短期负债': 'mean',
    '资产负债率': 'mean'
}).reset_index()

# 5. 将处理后的数据写入新的Excel文件
df_selected = df[['股票代码', '年份', '所有权','行业代码', '短期负债', '长期负债',  '资产负债率']]
df_yearly.to_excel('a2.xlsx', index=False)

# 6.结束信息
print(f"处理后的数据已保存到 {'a2.xlsx'}")




